define(function() {
	function EventData(type, code, context, data, startx, starty, endx, endy, button, scrolled) {
		this.type = type;			// String matching the event type.
		this.code = code; 			// Used by various events differently, as keyCode for key events, or as a rowID for Data events.
		this.context = context;		// this object-closure context in which the event occurred.
		this.data = data; 			// Any additional data supplied by a particular event.
		this.startX = startx; 		// Horizontal position (mouse or element) at which the start of the event occurred.
		this.startY = starty; 		// Vertical position (mouse or element) at which the start of the event occurred.
		this.endX = endx; 			// Horizontal position (mouse or element) at which the end of the event occurred.
		this.endY = endy; 			// Vertical position (mouse or element) at which the end of the event occurred.
		this.button = button;		// 0-based. usually in the order of Left, Right, Middle, Side, others.
		this.scrolled = scrolled; 	// Amount scrolled by a wheel.		
	};

	return EventData;
});